<?php
/**
 * @version 1.0
 * @author jonathan <jo.link.noir@gmail.com>
 * @date 12-05-2010
 */
class U1_Display_Army
{
	static public $names = array(
		0	=> 'Collecteur',
		1	=> 'Grand Transpot',
		2	=> 'Cargo',
		3	=> 'Gargo marchant',
		4	=> 'Sonde',
		5	=> 'Chasseur',
		6	=> 'Méta-chasseur',
		7	=> 'Hunter',
		8	=> 'Eclipse',
		9	=> 'Croiseur',
		10	=> 'Torpilleur',
		11	=> 'Ultra-croiseur',
		12	=> 'Galion',
		13	=> 'Vaisseau de colo',
		14	=> 'Coloniseur',
		15	=> 'Ultimate',
		16	=> 'Blender',
		17	=> 'Speeder',
		18	=> 'Berserk',
		19	=> 'Kraken',

		100	=> 'Canon à proton',
		101	=> 'Canon à protons pulsée (CPP)',
		102	=> 'Conducteur de masse',
		103	=> 'Générateur d\'ondes de choc déphasées (GOCD)',
		104	=> 'Lanceur de plasma à haute énergie (LPHE)',
		105	=> 'Canon à faisceaux énergétiques',
		106 => 'Tour antimatière'
	);

	static public $nameStruct = 'Armée';

	/**
	 * Retourne le nom du l'arme ou 'non nommé ($index)'
	 * @param int $index
	 * @param string
	 */
	static public function getName($index)
	{
		return isset(self::$names[$index])
			? self::$names[$index]
			: 'non nommé ('.$index.')';
	}

	/**
	 * @return string
	 */
	static public function getNameStruct()
	{
		return self::$nameStruct;
	}

	/**
	 * @param int $round
	 * @param U1_Units $attack
	 * @param U1_Units $defense
	 * @param string
	 */
	static public function getMessageRound($round, U1_Units $attack, U1_Units $defense)
	{
		$message = '<table class="report"><caption>'.($round ? 'Tour '.$round : 'Composition').'</caption><thead><tr><th>Type</th><th>Attaquant</th><th>Défenseur</th></tr></thead><tfoot><tr><th>Type</th><th>Attaquant</th><th>Défenseur</th></tr></tfoot><tbody>';

		foreach ($attack->getUnits() + $defense->getUnits() as $id => $unity)
			$message .= '<tr><td>'.
							self::getName($unity->getGroup()).
						'</td><td>'.
							$attack->getCount($id).
						'</td><td>'.
							$defense->getCount($id).
						'</td></tr>';

		return $message.'</tbody></table>';
	}

	/**
	 * @param bool $attackIsEmpty
	 * @param bool $defenseIsEmpty
	 * @param string
	 */
	static public function getMessageConfrontationResult($attackIsEmpty, $defenseIsEmpty)
	{
		return $attackIsEmpty
			? ($defenseIsEmpty
				? '<p>Math nul&nbsp;!</p>'
				: '<p>Le défenseur à gagné la bataille&nbsp;!</p>'
			) : ($defenseIsEmpty
				? '<p>L\'attaquant à gagné la bataille&nbsp;!</p>'
				: '<p>Math nul&nbsp;!</p>'
			);
	}
}